package com.cn.wanxi.service.impl;

import com.cn.wanxi.dao.CuisineDao;
import com.cn.wanxi.dao.ProductDao;
import com.cn.wanxi.dao.impl.CuisineImpl;
import com.cn.wanxi.dao.impl.ProductImpl;
import com.cn.wanxi.dto.ProductDto;
import com.cn.wanxi.model.ProductModel;
import com.cn.wanxi.model.ResultModel;
import com.cn.wanxi.service.IproductService;

import java.util.List;

public class ProductServiceImpl implements IproductService {
    @Override
    public List<ProductModel> getList() {
        ProductDao productDao = new ProductImpl();
        return productDao.getList();
    }

    @Override
    public ResultModel findAll() {
        ResultModel resultModel = new ResultModel();
        ProductDao productDao = new ProductImpl();
        resultModel.setObject(productDao.findAll());
        return resultModel;
    }

    @Override
    public ResultModel add(ProductModel productModel) {
        ProductDao productDao = new ProductImpl();
        ResultModel resultModel = new ResultModel();
        resultModel.setObject(productDao.add(productModel));
        return resultModel;
    }

    @Override
    public ResultModel del(Integer id) {
        ProductDao productDao = new ProductImpl();
        return new ResultModel(productDao.del(id));
    }

    /**
     * 通过id拿到产品详细信息，这里将产品菜系和当前产品一并拿到，
     * 主要是因为页面展示的时候，点击编辑时有可能先查询产品，菜系还没有出来，导致显示产品菜系不正确
     *
     * @param id
     * @return
     */
    @Override
    public ResultModel findById(Integer id) {
        ProductDao productDao = new ProductImpl();
        ProductDto productDto = new ProductDto();
        productDto = productDao.findById(id);
        CuisineDao cuisineDao = new CuisineImpl();
        productDto.setList(cuisineDao.findAll());
        return new ResultModel(productDto);
    }

    @Override
    public ResultModel update(ProductModel productModel) {
        ProductDao productDao=new ProductImpl();

        return new ResultModel(productDao.update(productModel));
    }
}
